=Modules=
* Network Audio Receiver
* Network Audio Sender
* Command Controller
* Unicast & Broadcast Controller

=Voice/Audio=
==Transmission Format==

RTP, encoded with OPUS. Sample Rate: 48kHz, 16bits, monophonic.

==Unicast Sniff==
Multicast, address: 224.0.100.200, port: 5000. All nodes send RTP packets to the same address and port. Sniff receivers should filter packets by sender's address.

=Command Module=
==Command Control Packet Format==
Command packets are sent by broadcast address 255.255.255.255, and port 3900. Payload data are serialized by JSON format.

Datagram:

Endianness: Big Endian.

<pre>
| CRC | UUID | ACK | Command Length | Command Payload | NUL |
</pre>

* CRC: CRC16 Checksum from UUID to the last bytes of Command Payload, NUL is not included
* UUID: UUID value in 128 bits binary format (not Hex string).
* ACK: 1 byte, notice this command should be answered by someone.
* Command Length: 2 bytes unsigned integer.
* Command Payload: JSON data.
* NUL: 1 byte NUL character (\0)